package org.Iteration6.dominio;

import java.util.LinkedList;

/* 2.2 version */

public class Personaje {

	private String nombre_personaje;
	private Raza raza_personaje;
	private Clase clase_personaje;
	private int salud_actual;
	private int pos_x, pos_y;
	private LinkedList<String> inventario;
	private String objeto_equipado;
	
	public Personaje (String nombre, Raza raza, Clase clase) {
		nombre_personaje = nombre;
		raza_personaje = raza;
		clase_personaje = clase;
		salud_actual = raza.getVida() + clase.getModificador_vida();
		inventario = new LinkedList<String>();
	}

	public String getNombre() {
		return nombre_personaje;
	}

	public void setNombre(String nombre) {
		this.nombre_personaje = nombre;
	}

	public Raza getRaza() {
		return raza_personaje;
	}

	public void setRaza(Raza raza_personaje) {
		this.raza_personaje = raza_personaje;
	}

	public Clase getClase() {
		return clase_personaje;
	}

	public void setClase(Clase clase_personaje) {
		this.clase_personaje = clase_personaje;
	}
	
	public int getAtaque() {
		int daño;
		daño = raza_personaje.getFuerza() + clase_personaje.getModificador_fuerza();
		return daño;
	}
	
	public int getDefensa() {
		int defensa;
		defensa = raza_personaje.getDefensa() + clase_personaje.getModificador_defensa();
		return defensa;
	}
	
	public int getAgilidad() {
		int agilidad_total;
		agilidad_total = raza_personaje.getAgilidad() + clase_personaje.getModificador_agilidad();
		return agilidad_total;
	}

	public int getSalud_actual() {
		return salud_actual;
	}

	public void setSalud(int salud_actual) {
		this.salud_actual = salud_actual;
	}
	
	public void reducirSalud(int daño) {
		salud_actual = salud_actual-daño;
	}

	public int getPos_x() {
		return pos_x;
	}

	public void setPos_x(int pos_x) {
		this.pos_x = pos_x;
	}

	public int getPos_y() {
		return pos_y;
	}

	public void setPos_y(int pos_y) {
		this.pos_y = pos_y;
	}
	
	public void incPos_x () {
		pos_x++;
	}
	
	public void incPos_y () {
		pos_y++;
	}
	
	public void decPos_x () {
		pos_x--;
	}
	
	public void decPos_y() {
		pos_y--;
	}
	
	public int getMagia() {
		return raza_personaje.getMagia() + clase_personaje.getModificador_magia();
	}

	public LinkedList<String> getInventario() {
		return inventario;
	}

	public void setInventario(LinkedList<String> inventario) {
		this.inventario = inventario;
	}

	public String getObjeto_equipado() {
		return objeto_equipado;
	}

	public void setObjeto_equipado(String objeto_equipado) {
		this.objeto_equipado = objeto_equipado;
	}
	
	
		
	
}
